<?xml version="1.0"?>
<ArrayOfServiceDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Adds a new .</Comment>
				<Modifier />
				<Name>AddAccount</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>account</Name>
						<Type>Account</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Adds a new .&lt;/summary&gt;&lt;param name="account"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>calculates monthly hours for member's program</Comment>
				<Modifier />
				<Name>CalculateMontlyHours</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>ok</Name>
						<Type>Int32</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Double</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;calculates monthly hours for member's program&lt;/summary&gt;&lt;param name="ok"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Method to retrieve list of company / account names in specified country / state / search text</Comment>
				<Modifier />
				<Name>SearchAccounts</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>countryId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>stateId</Name>
						<Type>Nullable&lt;Guid&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>searchText</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Guid, String&gt;&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Method to retrieve list of company / account names in specified country / state / search text&lt;/summary&gt;&lt;param name="countryId"&gt;&lt;/param&gt;&lt;param name="stateId"&gt;&lt;/param&gt;&lt;param name="searchText"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Select all institutions when true</Comment>
				<Modifier />
				<Name>SearchAccounts</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>isInstitution</Name>
						<Type>Boolean</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Guid, String&gt;&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Select all institutions when true&lt;/summary&gt;&lt;param name="isInstitution"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Method to retrive list of company / account names in search text</Comment>
				<Modifier />
				<Name>SearchAccountsByText</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>searchText</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Guid, String&gt;&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Method to retrive list of company / account names in search text&lt;/summary&gt;&lt;param name="searchText"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Selects the name of the account by.</Comment>
				<Modifier />
				<Name>SelectAccountByName</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>accountName</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>relationshipsToInclude</Name>
						<Type>AccountRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Account</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the name of the account by.&lt;/summary&gt;&lt;param name="accountName"&gt;&lt;/param&gt;&lt;param name="relationshipsToInclude"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Selects the accounts.</Comment>
				<Modifier />
				<Name>SelectAccounts</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>searchParameters</Name>
						<Type>FindCpaParameters</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>pageSize</Name>
						<Type>Int32</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>pageIndex</Name>
						<Type>Int32</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Tuple&lt;Account&gt;&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the accounts.&lt;/summary&gt;&lt;param name="searchParameters"&gt;&lt;/param&gt;&lt;param name="pageSize"&gt;&lt;/param&gt;&lt;param name="pageIndex"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Selects the name of the accounts by.</Comment>
				<Modifier />
				<Name>SelectAccountsByName</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>searchText</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>maxResults</Name>
						<Type>Int32</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Guid, String&gt;&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the name of the accounts by.&lt;/summary&gt;&lt;param name="searchText"&gt;&lt;/param&gt;&lt;param name="maxResults"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Selects the by account id.</Comment>
				<Modifier />
				<Name>SelectByAccountId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>accountRelationshipsToInclude</Name>
						<Type>AccountRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Account</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the by account id.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="accountRelationshipsToInclude"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Selects the by contact id.</Comment>
				<Modifier />
				<Name>SelectByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>accountRelationshipsToInclude</Name>
						<Type>AccountRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Account</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the by contact id.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="accountRelationshipsToInclude"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Select campus by ID</Comment>
				<Modifier />
				<Name>SelectCampusById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>campusId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Campus</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Select campus by ID&lt;/summary&gt;&lt;param name="campusId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Account</Aggregate>
				<Comment>Updates an existing .</Comment>
				<Modifier />
				<Name>UpdateAccount</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>account</Name>
						<Type>Account</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates an existing .&lt;/summary&gt;&lt;param name="account"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IAccountService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>CampusReadRepository</PropertyName>
				<ImplementationClass>CampusReadRepository</ImplementationClass>
				<InterfaceName>ICampusReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>accountRepository</PropertyName>
				<ImplementationClass>AccountRepository</ImplementationClass>
				<InterfaceName>IAccountRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Agm</Aggregate>
				<Comment>Determines whether [is proxy application exists] [the specified contact id].</Comment>
				<Modifier />
				<Name>IsProxyApplicationExists</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>annualGeneralMeetingId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Boolean</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Determines whether [is proxy application exists] [the specified contact id].&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="annualGeneralMeetingId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Agm</Aggregate>
				<Comment>Saves the annual general meeting vote.</Comment>
				<Modifier />
				<Name>SaveAgmVote</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>annualGeneralMeeting</Name>
						<Type>AnnualGeneralMeeting</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Saves the annual general meeting vote.&lt;/summary&gt;&lt;param name="annualGeneralMeeting"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Agm</Aggregate>
				<Comment>Selects the current meeting.</Comment>
				<Modifier />
				<Name>SelectCurrentMeeting</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>include</Name>
						<Type>AgmRelationshipToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>AnnualGeneralMeeting</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the current meeting.&lt;/summary&gt;&lt;param name="include"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Agm</Aggregate>
				<Comment>Selects the special resolution by annual general meeting id.</Comment>
				<Modifier />
				<Name>SelectSpecialResolutionByAgmId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>annualGeneralMeetingId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;AgmSpecialResolution&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the special resolution by annual general meeting id.&lt;/summary&gt;&lt;param name="annualGeneralMeetingId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IAgmService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>AgmReadRepository</PropertyName>
				<ImplementationClass>AgmReadRepository</ImplementationClass>
				<InterfaceName>IAgmReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>VenueRepository</PropertyName>
				<ImplementationClass>VenueRepository</ImplementationClass>
				<InterfaceName>IVenueRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Gets all Identification entities.</Comment>
				<Modifier />
				<Name>GetAllIdentifications</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters />
				<ReturnType>IList&lt;Identification&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Gets all Identification entities.&lt;/summary&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Inserts the mepa application.</Comment>
				<Modifier />
				<Name>InsertMepaApplication</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>mepaApplication</Name>
						<Type>MepaApplication</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Inserts the mepa application.&lt;/summary&gt;&lt;param name="mepaApplication"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Inserts the migration application.</Comment>
				<Modifier />
				<Name>InsertMigrationApplication</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>migrationApplication</Name>
						<Type>MigrationApplication</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Inserts the migration application.&lt;/summary&gt;&lt;param name="migrationApplication"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Inserts the migration with mepa application.</Comment>
				<Modifier />
				<Name>InsertMigrationWithMepaApplication</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>migrationApplication</Name>
						<Type>MigrationApplication</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>mepaApplication</Name>
						<Type>MepaApplication</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Inserts the migration with mepa application.&lt;/summary&gt;&lt;param name="migrationApplication"&gt;&lt;/param&gt;&lt;param name="mepaApplication"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Selects the Mepa application by contact id.</Comment>
				<Modifier />
				<Name>SelectMepaApplicationByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>MepaApplication</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the Mepa application by contact id.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Selects the MEPA application by id.</Comment>
				<Modifier />
				<Name>SelectMepaApplicationById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>mepaApplicationId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>MepaApplication</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the MEPA application by id.&lt;/summary&gt;&lt;param name="mepaApplicationId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Selects the Migration application by contact id</Comment>
				<Modifier />
				<Name>SelectMigrationApplicationByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>MigrationApplication</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the Migration application by contact id&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Select Passport Application By ID</Comment>
				<Modifier />
				<Name>SelectPassportApplicationByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>PassportApplicationRelationshipsToInclude</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactOptions</Name>
						<Type>ContactRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>PassportApplication</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Select Passport Application By ID&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;param name="contactOptions"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Select Passport Application By Contact ID and Passport Application Type</Comment>
				<Modifier />
				<Name>SelectPassportApplicationByContactIdAndType</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>passportApplicationType</Name>
						<Type>PassportApplicationType</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>PassportApplicationRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>PassportApplication</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Select Passport Application By Contact ID and Passport Application Type&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="passportApplicationType"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Select Passport Application By ID</Comment>
				<Modifier />
				<Name>SelectPassportApplicationById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>id</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>PassportApplicationRelationshipsToInclude</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactOptions</Name>
						<Type>ContactRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>PassportApplication</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Select Passport Application By ID&lt;/summary&gt;&lt;param name="id"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;param name="contactOptions"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>Create/Update Passport Application</Comment>
				<Modifier />
				<Name>UpdatePassportApplication</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>passportApplication</Name>
						<Type>PassportApplication</Type>
					</Parameter>
				</Parameters>
				<ReturnType>PassportApplication</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Create/Update Passport Application&lt;/summary&gt;&lt;param name="passportApplication"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Application</Aggregate>
				<Comment>
					Updates a simple Mepa Application
					Cpa program will use this
				</Comment>
				<Modifier />
				<Name>UpdateSimpleMepaApplication</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>mepaApplication</Name>
						<Type>MepaApplication</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>
					&lt;doc&gt;&lt;summary&gt;Updates a simple Mepa Application
					Cpa program will use this&lt;/summary&gt;&lt;param name="mepaApplication"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;
				</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IApplicationService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>IdentificationRepository</PropertyName>
				<ImplementationClass>IdentificationRepository</ImplementationClass>
				<InterfaceName>IIdentificationRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>MepaApplicationRepository</PropertyName>
				<ImplementationClass>MepaApplicationRepository</ImplementationClass>
				<InterfaceName>IMepaApplicationRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>MepaApplicationReadRepository</PropertyName>
				<ImplementationClass>MepaApplicationReadRepository</ImplementationClass>
				<InterfaceName>IMepaApplicationReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>MigrationApplicationReadRepository</PropertyName>
				<ImplementationClass>MigrationApplicationReadRepository</ImplementationClass>
				<InterfaceName>IMigrationApplicationReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>MigrationApplicationRepository</PropertyName>
				<ImplementationClass>MigrationApplicationRepository</ImplementationClass>
				<InterfaceName>IMigrationApplicationRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>PassportApplicationRepository</PropertyName>
				<ImplementationClass>PassportApplicationRepository</ImplementationClass>
				<InterfaceName>IPassportApplicationRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>PassportApplicationReadRepository</PropertyName>
				<ImplementationClass>PassportApplicationReadRepository</ImplementationClass>
				<InterfaceName>IPassportApplicationReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>QualificationReadRepository</PropertyName>
				<ImplementationClass>QualificationReadRepository</ImplementationClass>
				<InterfaceName>IQualificationReadRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods />
		<Name>IBaseService</Name>
		<Repositories />
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Contact</Aggregate>
				<Comment>Get Password by CpaAustraliaId from imis</Comment>
				<Modifier />
				<Name>GetPassword</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpaAustraliaId</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>String</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Get Password by CpaAustraliaId from imis&lt;/summary&gt;&lt;param name="cpaAustraliaId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Contact</Aggregate>
				<Comment>Determines whether [is member existing] based on [first name], [last name] and [email address] .</Comment>
				<Modifier />
				<Name>IsMemberExisting</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>firstName</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>lastName</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>email</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Boolean</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Determines whether [is member existing] based on [first name], [last name] and [email address] .&lt;/summary&gt;&lt;param name="firstName"&gt;&lt;/param&gt;&lt;param name="lastName"&gt;&lt;/param&gt;&lt;param name="email"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Contact</Aggregate>
				<Comment>Determines whether [is member in disiplinary] [the specified contact id].</Comment>
				<Modifier />
				<Name>IsMemberInDisiplinary</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Boolean</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Determines whether [is member in disiplinary] [the specified contact id].&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Contact</Aggregate>
				<Comment>Get a list of communication preference by communication category</Comment>
				<Modifier />
				<Name>SelectCommunicationPreferenceByCategory</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>communicationCategory</Name>
						<Type>CommunicationCategory</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;CommunicationPreference&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Get a list of communication preference by communication category&lt;/summary&gt;&lt;param name="communicationCategory"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Contact</Aggregate>
				<Comment>Selects the contact by cpa australia id.</Comment>
				<Modifier />
				<Name>SelectContactByCpaAustraliaId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpaAustraliaId</Name>
						<Type>Int32</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>ContactRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Contact</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the contact by cpa australia id.&lt;/summary&gt;&lt;param name="cpaAustraliaId"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Contact</Aggregate>
				<Comment>Selects the contact by id.</Comment>
				<Modifier />
				<Name>SelectContactById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>ContactRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Contact</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the contact by id.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Contact</Aggregate>
				<Comment>Select List of Contact for a list of contactIds</Comment>
				<Modifier />
				<Name>SelectContactsByIds</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>ContactCpdHourRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Contact&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Select List of Contact for a list of contactIds&lt;/summary&gt;&lt;param name="contactIds"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Contact</Aggregate>
				<Comment>Selects State by CountryID</Comment>
				<Modifier />
				<Name>SelectStatesByCountryId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>countryId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;State&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects State by CountryID&lt;/summary&gt;&lt;param name="countryId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Contact</Aggregate>
				<Comment>Save Contact Password to imis for Contact Sync</Comment>
				<Modifier />
				<Name>SetPassword</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpaAustraliaId</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>password</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Boolean</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Save Contact Password to imis for Contact Sync&lt;/summary&gt;&lt;param name="cpaAustraliaId"&gt;&lt;/param&gt;&lt;param name="password"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Contact</Aggregate>
				<Comment>Updates the contact.</Comment>
				<Modifier />
				<Name>UpdateContact</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contact</Name>
						<Type>Contact</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates the contact.&lt;/summary&gt;&lt;param name="contact"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IContactService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>CommunicationPreferenceReadRepository</PropertyName>
				<ImplementationClass>CommunicationPreferenceReadRepository</ImplementationClass>
				<InterfaceName>ICommunicationPreferenceReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>ContactSqlRepository</PropertyName>
				<ImplementationClass>ContactSqlRepository</ImplementationClass>
				<InterfaceName>IContactSqlRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>contactRepository</PropertyName>
				<ImplementationClass>ContactRepository</ImplementationClass>
				<InterfaceName>IContactRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>contactReadRepository</PropertyName>
				<ImplementationClass>ContactReadRepository</ImplementationClass>
				<InterfaceName>IContactReadRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment>Load a web user based on their contact Id</Comment>
				<Modifier />
				<Name>GetWebUser</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>WebUser</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Load a web user based on their contact Id&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment>Process the profile security queue.</Comment>
				<Modifier />
				<Name>ProcessProfileSecurityQueue</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>lockMinutes</Name>
						<Type>Int32</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>ensureBefore</Name>
						<Type>DateTime</Type>
					</Parameter>
				</Parameters>
				<ReturnType>QueueProcessResult</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Process the profile security queue.&lt;/summary&gt;&lt;param name="lockMinutes"&gt;&lt;/param&gt;&lt;param name="ensureBefore"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment>Looks for records on contact sync queue and retrieves it, it will also put a lock on record so another thread will not grab same record</Comment>
				<Modifier />
				<Name>SelectNextQueueItem</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>lockMinutes</Name>
						<Type>Int32</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>noOfRecords</Name>
						<Type>Int32</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;ContactSyncQueueItem&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Looks for records on contact sync queue and retrieves it, it will also put a lock on record so another thread will not grab same record&lt;/summary&gt;&lt;param name="lockMinutes"&gt;&lt;/param&gt;&lt;param name="noOfRecords"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment>Updates all systems if required</Comment>
				<Modifier />
				<Name>SyncAllSystems</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>webUser</Name>
						<Type>WebUser</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Boolean</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates all systems if required&lt;/summary&gt;&lt;param name="webUser"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment>Updates iManage</Comment>
				<Modifier />
				<Name>SyncDocumentManagement</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>webUser</Name>
						<Type>WebUser</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates iManage&lt;/summary&gt;&lt;param name="webUser"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment>Updates Library</Comment>
				<Modifier />
				<Name>SyncLibary</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>webUser</Name>
						<Type>WebUser</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates Library&lt;/summary&gt;&lt;param name="webUser"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment>Updates MYOL (Fourpoint/Hive)</Comment>
				<Modifier />
				<Name>SyncMYOL</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>webUser</Name>
						<Type>WebUser</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates MYOL (Fourpoint/Hive)&lt;/summary&gt;&lt;param name="webUser"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment />
				<Modifier />
				<Name>SyncMyolContactHoursActivity</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters />
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment>Updates Reddot (or live server)</Comment>
				<Modifier />
				<Name>SyncReddot</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>webUser</Name>
						<Type>WebUser</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>password</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;ReddotUserImportResponse&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates Reddot (or live server)&lt;/summary&gt;&lt;param name="webUser"&gt;&lt;/param&gt;&lt;param name="password"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment>Updates queue item</Comment>
				<Modifier />
				<Name>UpdateContactSyncQueueItem</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactSyncQueueItem</Name>
						<Type>ContactSyncQueueItem</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates queue item&lt;/summary&gt;&lt;param name="contactSyncQueueItem"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>ContactSync</Aggregate>
				<Comment>Validates the security roles assigned to a user</Comment>
				<Modifier />
				<Name>ValidateSecurityRoles</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactid</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Validates the security roles assigned to a user&lt;/summary&gt;&lt;param name="contactid"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IContactSyncService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>WebSecurityReadRepository</PropertyName>
				<ImplementationClass>WebSecurityReadRepository</ImplementationClass>
				<InterfaceName>IWebSecurityReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>WebSecurityRepository</PropertyName>
				<ImplementationClass>WebSecurityRepository</ImplementationClass>
				<InterfaceName>IWebSecurityRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>DocumentManagementRepository</PropertyName>
				<ImplementationClass>DocumentManagementRepository</ImplementationClass>
				<InterfaceName>IDocumentManagementRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>SecuritySyncQueueRepository</PropertyName>
				<ImplementationClass>SecuritySyncQueueRepository</ImplementationClass>
				<InterfaceName>ISecuritySyncQueueRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>ContactSyncCrmRepository</PropertyName>
				<ImplementationClass>ContactSyncCrmRepository</ImplementationClass>
				<InterfaceName>IContactSyncCrmRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>MyolRepository</PropertyName>
				<ImplementationClass>MyolRepository</ImplementationClass>
				<InterfaceName>IMyolRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>MyolAssessmentRepository</PropertyName>
				<ImplementationClass>MyolAssessmentRepository</ImplementationClass>
				<InterfaceName>IMyolAssessmentRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>ContactReadRepository</PropertyName>
				<ImplementationClass>ContactReadRepository</ImplementationClass>
				<InterfaceName>IContactReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>ReddotRepository</PropertyName>
				<ImplementationClass>ReddotRepository</ImplementationClass>
				<InterfaceName>IReddotRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>ContactSyncLibraryRepository</PropertyName>
				<ImplementationClass>ContactSyncLibraryRepository</ImplementationClass>
				<InterfaceName>IContactSyncLibraryRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Correspondence</Aggregate>
				<Comment>Lookup the correspondence template ID for the given template value.</Comment>
				<Modifier />
				<Name>GetCorrespondenceTemplateId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>template</Name>
						<Type>CorrespondenceTemplate</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Nullable&lt;Guid&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Lookup the correspondence template ID for the given template value.&lt;/summary&gt;&lt;param name="template"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Correspondence</Aggregate>
				<Comment>Create the correspondence queue item.</Comment>
				<Modifier />
				<Name>QueueItem</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>item</Name>
						<Type>CorrespondenceQueueItem</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Create the correspondence queue item.&lt;/summary&gt;&lt;param name="item"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>ICorrespondenceService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>correspondenceRepository</PropertyName>
				<ImplementationClass>CorrespondenceRepository</ImplementationClass>
				<InterfaceName>ICorrespondenceRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>configRepository</PropertyName>
				<ImplementationClass>ConfigRepository</ImplementationClass>
				<InterfaceName>IConfigRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Activates a foundation user for a their foundation program.</Comment>
				<Modifier />
				<Name>ActivateFoundationProgram</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>mepaApplication</Name>
						<Type>MepaApplication</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>foundationProgram</Name>
						<Type>CpaProgram</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Activates a foundation user for a their foundation program.&lt;/summary&gt;&lt;param name="mepaApplication"&gt;&lt;/param&gt;&lt;param name="foundationProgram"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Activates a user for their professional program.</Comment>
				<Modifier />
				<Name>ActivateProfessionalProgram</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>professionalProgram</Name>
						<Type>CpaProgram</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Activates a user for their professional program.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="professionalProgram"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Cancels a segment in crm</Comment>
				<Modifier />
				<Name>CancelSegment</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>segmentCancellation</Name>
						<Type>SegmentCancellation</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Cancels a segment in crm&lt;/summary&gt;&lt;param name="segmentCancellation"&gt;&lt;/param&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Changes the exam location of an enrolment in CRM</Comment>
				<Modifier />
				<Name>ChangeExamLocation</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>programSegmentId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>examVenueId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Changes the exam location of an enrolment in CRM&lt;/summary&gt;&lt;param name="programSegmentId"&gt;&lt;/param&gt;&lt;param name="examVenueId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Changes the list of segments.</Comment>
				<Modifier />
				<Name>ChangeSegments</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>changeSegmentFromIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>changeSegmentToIds</Name>
						<Type>List&lt;Guid, Guid, Guid&gt;&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>programSetupId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>programType</Name>
						<Type>ProgramType</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Changes the list of segments.&lt;/summary&gt;&lt;param name="changeSegmentFromIds"&gt;&lt;/param&gt;&lt;param name="changeSegmentToIds"&gt;&lt;/param&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="programSetupId"&gt;&lt;/param&gt;&lt;param name="programType"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Defers a list of program segments.</Comment>
				<Modifier />
				<Name>DeferSegments</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>deferralSegmentDetails</Name>
						<Type>List&lt;Guid, SegmentDeferralReason, String&gt;&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Defers a list of program segments.&lt;/summary&gt;&lt;param name="deferralSegmentDetails"&gt;&lt;/param&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Enrols the user into a list of segments.</Comment>
				<Modifier />
				<Name>EnrolSegments</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>enrolmentDetails</Name>
						<Type>List&lt;Guid, Guid, Guid&gt;&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>programSetupId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>programType</Name>
						<Type>ProgramType</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Enrols the user into a list of segments.&lt;/summary&gt;&lt;param name="enrolmentDetails"&gt;&lt;/param&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="programSetupId"&gt;&lt;/param&gt;&lt;param name="programType"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment />
				<Modifier />
				<Name>EnsureEnrolment</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>programSegmentId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>BaseEnrolmentResponse</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="programSegmentId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Selects the cpa program by cpa program id.</Comment>
				<Modifier />
				<Name>SelectCpaProgramByCpaProgramId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpaProgramId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>CpaProgram</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the cpa program by cpa program id.&lt;/summary&gt;&lt;param name="cpaProgramId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Returns a  based on a contact id.</Comment>
				<Modifier />
				<Name>SelectCpaProgramsByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;CpaProgram&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Returns a  based on a contact id.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Selects the cpa program segment by cpa program id.</Comment>
				<Modifier />
				<Name>SelectCpaProgramSegmentByCpaProgramId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpaProgramId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>include</Name>
						<Type>CpaProgramRelationshipToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;CpaProgramSegment&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the cpa program segment by cpa program id.&lt;/summary&gt;&lt;param name="cpaProgramId"&gt;&lt;/param&gt;&lt;param name="include"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Selects the cpa program segment by cpa program id.</Comment>
				<Modifier />
				<Name>SelectCpaProgramSegmentByCpaProgramSegmentId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpaProgramSegmentId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>include</Name>
						<Type>CpaProgramRelationshipToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>CpaProgramSegment</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the cpa program segment by cpa program id.&lt;/summary&gt;&lt;param name="cpaProgramSegmentId"&gt;&lt;/param&gt;&lt;param name="include"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Selects the Foundation  if one exists.</Comment>
				<Modifier />
				<Name>SelectFoundationCpaProgramByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>CpaProgram</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the Foundation  if one exists.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Selects the MEPA application by contact id.</Comment>
				<Modifier />
				<Name>SelectMepaApplicationByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>MepaApplication</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the MEPA application by contact id.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Selects the MEPA application by id.</Comment>
				<Modifier />
				<Name>SelectMepaApplicationById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>mepaApplicationId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>MepaApplication</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the MEPA application by id.&lt;/summary&gt;&lt;param name="mepaApplicationId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Selects the Professional  if one exists.</Comment>
				<Modifier />
				<Name>SelectProfessionalCpaProgramByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>CpaProgram</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the Professional  if one exists.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Selects a contacts Program history</Comment>
				<Modifier />
				<Name>SelectProgramHistoryForContact</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;ProgramSegmentHistoryEntry&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects a contacts Program history&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>CpaProgram</Aggregate>
				<Comment>Selects the venues by their venue type</Comment>
				<Modifier />
				<Name>SelectVenuesByVenueType</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>venueType</Name>
						<Type>VenueType</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;ExamVenue&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the venues by their venue type&lt;/summary&gt;&lt;param name="venueType"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>ICpaProgramService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>CpaProgramReadRepository</PropertyName>
				<ImplementationClass>CpaProgramReadRepository</ImplementationClass>
				<InterfaceName>ICpaProgramReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>CpaProgramSegmentReadRepository</PropertyName>
				<ImplementationClass>CpaProgramSegmentReadRepository</ImplementationClass>
				<InterfaceName>ICpaProgramSegmentReadRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Cpd</Aggregate>
				<Comment />
				<Modifier />
				<Name>DeleteCpdActivity</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpdActivityId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="cpdActivityId"&gt;&lt;/param&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Cpd</Aggregate>
				<Comment />
				<Modifier />
				<Name>SelectActivityTypesByCategoryId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpdActivityCategory</Name>
						<Type>ActivityCategory</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;CpdActivityType&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="cpdActivityCategory"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Cpd</Aggregate>
				<Comment />
				<Modifier />
				<Name>SelectCpdActivityById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpdActivityId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>CpdActivity</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="cpdActivityId"&gt;&lt;/param&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Cpd</Aggregate>
				<Comment>Select the specified contact's diaries</Comment>
				<Modifier />
				<Name>SelectDiariesByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;CpdDiary&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Select the specified contact's diaries&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Cpd</Aggregate>
				<Comment />
				<Modifier />
				<Name>SelectDiaryById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpdDiaryId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>CpdDiary</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="cpdDiaryId"&gt;&lt;/param&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Cpd</Aggregate>
				<Comment />
				<Modifier />
				<Name>UpdateCpdActivity</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>cpdActivity</Name>
						<Type>CpdActivity</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="cpdActivity"&gt;&lt;/param&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>ICpdService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>cpdDiaryRepository</PropertyName>
				<ImplementationClass>CpdDiaryRepository</ImplementationClass>
				<InterfaceName>ICpdDiaryRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>cpdDiaryReadRepository</PropertyName>
				<ImplementationClass>CpdDiaryReadRepository</ImplementationClass>
				<InterfaceName>ICpdDiaryReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>cpdActivityRepository</PropertyName>
				<ImplementationClass>CpdActivityRepository</ImplementationClass>
				<InterfaceName>ICpdActivityRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>cpdActivityReadRepository</PropertyName>
				<ImplementationClass>CpdActivityReadRepository</ImplementationClass>
				<InterfaceName>ICpdActivityReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>cpdActivityTypeReadRepository</PropertyName>
				<ImplementationClass>ActivityTypeReadRepository</ImplementationClass>
				<InterfaceName>IActivityTypeReadRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Adds a the waitlist information for an .</Comment>
				<Modifier />
				<Name>AddWaitListForEventProduct</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>productId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>waitlist</Name>
						<Type>Waitlist</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Adds a the waitlist information for an .&lt;/summary&gt;&lt;param name="productId"&gt;&lt;/param&gt;&lt;param name="waitlist"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Adds a the waitlist information for an .</Comment>
				<Modifier />
				<Name>AddWaitListForSession</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionDeliveryId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>waitlist</Name>
						<Type>Waitlist</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Adds a the waitlist information for an .&lt;/summary&gt;&lt;param name="sessionDeliveryId"&gt;&lt;/param&gt;&lt;param name="waitlist"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Adds waitlists to multiple sessions in CRM.</Comment>
				<Modifier />
				<Name>AddWaitListsForMultipleSessions</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>waitlists</Name>
						<Type>IEnumerable&lt;Waitlist&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Adds waitlists to multiple sessions in CRM.&lt;/summary&gt;&lt;param name="waitlists"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Determines whether the products for an event delivery can have waitlists registered against them</Comment>
				<Modifier />
				<Name>CanRegisterForProductWaitlistsForEventId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>eventDeliveryId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Dictionary&lt;Guid, Boolean&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Determines whether the products for an event delivery can have waitlists registered against them&lt;/summary&gt;&lt;param name="eventDeliveryId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Check for the conflict in session registrations for a set of event attendees against the session list passed</Comment>
				<Modifier />
				<Name>CheckOverlappedSessionsForContacts</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactSessionCollection</Name>
						<Type>Dictionary&lt;Guid&gt;&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Dictionary&lt;SessionRegistrationConflict&gt;&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Check for the conflict in session registrations for a set of event attendees against the session list passed&lt;/summary&gt;&lt;param name="contactSessionCollection"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>
					Deletes a group of  and its related
					Only deletes the event attendee if it has no order items and all the session registrations are to be deleted
				</Comment>
				<Modifier />
				<Name>DeleteAttendeeRegistrationAndSessionRegistrations</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>eventAttendeeId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionRegistrationIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>
					&lt;doc&gt;&lt;summary&gt;Deletes a group of  and its related
					Only deletes the event attendee if it has no order items and all the session registrations are to be deleted&lt;/summary&gt;&lt;param name="eventAttendeeId"&gt;&lt;/param&gt;&lt;param name="sessionRegistrationIds"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;
				</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Deletes a group of .</Comment>
				<Modifier />
				<Name>DeleteEventAttendees</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>eventAttendeeIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Deletes a group of .&lt;/summary&gt;&lt;param name="eventAttendeeIds"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Deletes a group of</Comment>
				<Modifier />
				<Name>DeleteSessionRegistrations</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionRegistrationIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Deletes a group of&lt;/summary&gt;&lt;param name="sessionRegistrationIds"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>
					Determines whether the Session Registrations overlaps with any other active Session Registrations
					in the system for an Attendee Registration.
				</Comment>
				<Modifier />
				<Name>HasNoOverlappedSessionsByAttendee</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>attendeeRegistrationId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;SessionRegistrationConflict&gt;</ReturnType>
				<ReturnComment />
				<DocComment>
					&lt;doc&gt;&lt;summary&gt;Determines whether the Session Registrations overlaps with any other active Session Registrations
					in the system for an Attendee Registration.&lt;/summary&gt;&lt;param name="attendeeRegistrationId"&gt;&lt;/param&gt;&lt;param name="sessionIds"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;
				</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>
					Determines whether the Session Registrations overlaps with any other active Session Registrations
					in the system for a Contact.
				</Comment>
				<Modifier />
				<Name>HasNoOverlappedSessionsByContact</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;SessionRegistrationConflict&gt;</ReturnType>
				<ReturnComment />
				<DocComment>
					&lt;doc&gt;&lt;summary&gt;Determines whether the Session Registrations overlaps with any other active Session Registrations
					in the system for a Contact.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="sessionIds"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;
				</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Gets the maximum available attendees for a list of session ids.</Comment>
				<Modifier />
				<Name>MaxAvailableAttendeesForSessionIds</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Int32</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Gets the maximum available attendees for a list of session ids.&lt;/summary&gt;&lt;param name="sessionIds"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Create attendee registration and session registrations</Comment>
				<Modifier />
				<Name>NewEventRegistrations</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>productId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>quantity</Name>
						<Type>Int32</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;EventRegistration&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Create attendee registration and session registrations&lt;/summary&gt;&lt;param name="productId"&gt;&lt;/param&gt;&lt;param name="quantity"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Create attendee registration and session registrations for recurring event</Comment>
				<Modifier />
				<Name>NewRecurringEventRegistrations</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>eventSessionIdentifiers</Name>
						<Type>List&lt;EventSessionIdentifier&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>quantity</Name>
						<Type>Int32</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;RecurringEventRegistration&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Create attendee registration and session registrations for recurring event&lt;/summary&gt;&lt;param name="eventSessionIdentifiers"&gt;&lt;/param&gt;&lt;param name="quantity"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Select the  by id</Comment>
				<Modifier />
				<Name>SelectAttendeeRegistrationById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>attendeeRegistrationId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>includes</Name>
						<Type>IncludeAttendeeRegistrationEntities</Type>
					</Parameter>
				</Parameters>
				<ReturnType>AttendeeRegistration</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Select the  by id&lt;/summary&gt;&lt;param name="attendeeRegistrationId"&gt;&lt;/param&gt;&lt;param name="includes"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Retrieves the specified .</Comment>
				<Modifier />
				<Name>SelectEventById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>id</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>includes</Name>
						<Type>IncludeEventRelatedEntities</Type>
					</Parameter>
				</Parameters>
				<ReturnType>EventBase</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Retrieves the specified .&lt;/summary&gt;&lt;param name="id"&gt;&lt;/param&gt;&lt;param name="includes"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Selects the recurring event by id.</Comment>
				<Modifier />
				<Name>SelectRecurringEventById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>eventId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>RecurringEvent</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the recurring event by id.&lt;/summary&gt;&lt;param name="eventId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Selects the event by session id.</Comment>
				<Modifier />
				<Name>SelectRecurringEventBySessionId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionDeliveryId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>RecurringEvent</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the event by session id.&lt;/summary&gt;&lt;param name="sessionDeliveryId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Selects the session instance by session del id.</Comment>
				<Modifier />
				<Name>SelectSessionInstanceBySessionDeliveryId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionDelId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Session</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the session instance by session del id.&lt;/summary&gt;&lt;param name="sessionDelId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Update  with the contact id passed in</Comment>
				<Modifier />
				<Name>UpdateAttendeeRegistration</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>currentId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>currentSessionRegistrationIds</Name>
						<Type>IList&lt;Guid&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>newContactId</Name>
						<Type>Nullable&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Update  with the contact id passed in&lt;/summary&gt;&lt;param name="currentId"&gt;&lt;/param&gt;&lt;param name="currentSessionRegistrationIds"&gt;&lt;/param&gt;&lt;param name="newContactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Updates the session selections.</Comment>
				<Modifier />
				<Name>UpdateSessionSelections</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>attendeeRegistrationId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionAttendeesToUpdate</Name>
						<Type>List&lt;SessionAttendee&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionRegistrationIdsToDelete</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;SessionAttendee&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates the session selections.&lt;/summary&gt;&lt;param name="attendeeRegistrationId"&gt;&lt;/param&gt;&lt;param name="sessionAttendeesToUpdate"&gt;&lt;/param&gt;&lt;param name="sessionRegistrationIdsToDelete"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Event</Aggregate>
				<Comment>Updates the session selections.</Comment>
				<Modifier />
				<Name>UpdateSessionSelectionsForAttendees</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>attendeeRegistrationIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionRegistrationsToUpdate</Name>
						<Type>List&lt;SessionAttendee&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionRegistrationIdsToDelete</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;SessionAttendee&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates the session selections.&lt;/summary&gt;&lt;param name="attendeeRegistrationIds"&gt;&lt;/param&gt;&lt;param name="sessionRegistrationsToUpdate"&gt;&lt;/param&gt;&lt;param name="sessionRegistrationIdsToDelete"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IEventService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>AttendeeRegistrationRepository</PropertyName>
				<ImplementationClass>AttendeeRegistrationRepository</ImplementationClass>
				<InterfaceName>IAttendeeRegistrationRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>ProductRepository</PropertyName>
				<ImplementationClass>ProductReadRepository</ImplementationClass>
				<InterfaceName>IProductReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>EventInstanceServiceRepository</PropertyName>
				<ImplementationClass>EventInstanceServiceRepository</ImplementationClass>
				<InterfaceName>IEventInstanceServiceRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>SessionInstanceRepository</PropertyName>
				<ImplementationClass>SessionReadRepository</ImplementationClass>
				<InterfaceName>ISessionReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>WaitListRepository</PropertyName>
				<ImplementationClass>WaitListRepository</ImplementationClass>
				<InterfaceName>IWaitListRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>SessionRegistrationRepository</PropertyName>
				<ImplementationClass>SessionRegistrationRepository</ImplementationClass>
				<InterfaceName>ISessionRegistrationRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>EventDbRepository</PropertyName>
				<ImplementationClass>EventReadRepository</ImplementationClass>
				<InterfaceName>IEventReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>eventServiceRepository</PropertyName>
				<ImplementationClass>EventServiceRepository</ImplementationClass>
				<InterfaceName>IEventServiceRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Logger</Aggregate>
				<Comment>Log an exception passed in</Comment>
				<Modifier />
				<Name>LogError</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>exception</Name>
						<Type>Exception</Type>
					</Parameter>
				</Parameters>
				<ReturnType>String</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Log an exception passed in&lt;/summary&gt;&lt;param name="exception"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Logger</Aggregate>
				<Comment>Log the exception and message</Comment>
				<Modifier />
				<Name>LogErrorAndMessage</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>errorMessage</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>exception</Name>
						<Type>Exception</Type>
					</Parameter>
				</Parameters>
				<ReturnType>String</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Log the exception and message&lt;/summary&gt;&lt;param name="errorMessage"&gt;&lt;/param&gt;&lt;param name="exception"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Logger</Aggregate>
				<Comment>Log the error message</Comment>
				<Modifier />
				<Name>LogErrorMessage</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>errorMessage</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>String</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Log the error message&lt;/summary&gt;&lt;param name="errorMessage"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>ILoggerService</Name>
		<Repositories />
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Lookup</Aggregate>
				<Comment>Gets the list of lookup items by type.</Comment>
				<Modifier />
				<Name>GetLookup</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>type</Name>
						<Type>LookupType</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>forceRefresh</Name>
						<Type>Boolean</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Lookup&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Gets the list of lookup items by type.&lt;/summary&gt;&lt;param name="type"&gt;&lt;/param&gt;&lt;param name="forceRefresh"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Lookup</Aggregate>
				<Comment>Gets the lookup item by type and Guid.</Comment>
				<Modifier />
				<Name>SelectLookupById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>type</Name>
						<Type>LookupType</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>id</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>forceRefresh</Name>
						<Type>Boolean</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Lookup</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Gets the lookup item by type and Guid.&lt;/summary&gt;&lt;param name="type"&gt;&lt;/param&gt;&lt;param name="id"&gt;&lt;/param&gt;&lt;param name="forceRefresh"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>ILookupService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>sqlRepository</PropertyName>
				<ImplementationClass>LookupSqlRepository</ImplementationClass>
				<InterfaceName>ILookupSqlRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>crmRepository</PropertyName>
				<ImplementationClass>LookupCrmRepository</ImplementationClass>
				<InterfaceName>ILookupCrmRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment>that's a funky comment</Comment>
				<Modifier />
				<Name>CreateThatFunkyThing</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>force</Name>
						<Type>Boolean</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>things</Name>
						<Type>String[]</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Boolean</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;that's a funky comment&lt;/summary&gt;&lt;param name="force"&gt;&lt;/param&gt;&lt;param name="things"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment>
					/ &lt;summary&gt;
					/ Process the payment for the &lt;see cref="Invoice"/&gt;
					/ &lt;/summary&gt;
					/ &lt;param name="invoice"&gt;The &lt;see cref="Invoice"/&gt; to process&lt;/param&gt;
					/ &lt;returns&gt;The &lt;see cref="Invoice"/&gt; that was processed&lt;/returns&gt;
				</Comment>
				<Modifier />
				<Name>ProcessPayment</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>order</Name>
						<Type>Order</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Order</ReturnType>
				<ReturnComment />
				<DocComment>
					&lt;doc&gt;&lt;summary&gt;/ &lt;summary&gt;
					/ Process the payment for the &lt;see cref="Invoice"/&gt;
					/ &lt;/summary&gt;
					/ &lt;param name="invoice"&gt;The &lt;see cref="Invoice"/&gt; to process&lt;/param&gt;
					/ &lt;returns&gt;The &lt;see cref="Invoice"/&gt; that was processed&lt;/returns&gt;
					&lt;/summary&gt;&lt;param name="order"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;
				</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment>Determines whether the specified gl code is a valid discount gl code.</Comment>
				<Modifier />
				<Name>SelectGlCode</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>glCode</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>GLCode</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Determines whether the specified gl code is a valid discount gl code.&lt;/summary&gt;&lt;param name="glCode"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment>Returns the GLCode based on the GLCode and the type passed</Comment>
				<Modifier />
				<Name>SelectGlCodeByGlCodeAndType</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>glCode</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>glCodeType</Name>
						<Type>GLCodeType</Type>
					</Parameter>
				</Parameters>
				<ReturnType>GLCode</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Returns the GLCode based on the GLCode and the type passed&lt;/summary&gt;&lt;param name="glCode"&gt;&lt;/param&gt;&lt;param name="glCodeType"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment>Returns the GLCode based on the GLCode and the type passed</Comment>
				<Modifier />
				<Name>SelectGlCodesByGlCodesAndTypes</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>glCodesAndTypes</Name>
						<Type>Dictionary&lt;String, GLCodeType&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;GLCode&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Returns the GLCode based on the GLCode and the type passed&lt;/summary&gt;&lt;param name="glCodesAndTypes"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment>Retrieves the list of valid registrations for a user</Comment>
				<Modifier />
				<Name>SelectMyRegistrations</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>PaymentRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Order&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Retrieves the list of valid registrations for a user&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment>Selects the order based on the order id passed</Comment>
				<Modifier />
				<Name>SelectOrderById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>orderId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>PaymentRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Order</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the order based on the order id passed&lt;/summary&gt;&lt;param name="orderId"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment>Select the invoice line based on the Order Item Id</Comment>
				<Modifier />
				<Name>SelectOrderItemById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>orderItemId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>InvoiceLineRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>OrderItem</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Select the invoice line based on the Order Item Id&lt;/summary&gt;&lt;param name="orderItemId"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment>Select none or more invoice lines based on the InvoiceId and ProductId</Comment>
				<Modifier />
				<Name>SelectOrderItemsByOrderIdAndProductId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>orderId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>productid</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>InvoiceLineRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;OrderItem&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Select none or more invoice lines based on the InvoiceId and ProductId&lt;/summary&gt;&lt;param name="orderId"&gt;&lt;/param&gt;&lt;param name="productid"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment>Updates selected contact</Comment>
				<Modifier />
				<Name>UpdateAttendeeRegistration</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>invoiceLineId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>attendeeRegistrationId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Nullable&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Updates selected contact&lt;/summary&gt;&lt;param name="invoiceLineId"&gt;&lt;/param&gt;&lt;param name="attendeeRegistrationId"&gt;&lt;/param&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Order</Aggregate>
				<Comment />
				<Modifier />
				<Name>UpdateOrderDetails</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>order</Name>
						<Type>Order</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Guid</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="order"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IOrderService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>OrderItemReadRepository</PropertyName>
				<ImplementationClass>OrderItemReadRepository</ImplementationClass>
				<InterfaceName>IOrderItemReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>ProductReadRepository</PropertyName>
				<ImplementationClass>ProductReadRepository</ImplementationClass>
				<InterfaceName>IProductReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>OrderRepository</PropertyName>
				<ImplementationClass>OrderRepository</ImplementationClass>
				<InterfaceName>IOrderRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>OrderReadRepository</PropertyName>
				<ImplementationClass>OrderReadRepository</ImplementationClass>
				<InterfaceName>IOrderReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>AttendeeRegistrationRepository</PropertyName>
				<ImplementationClass>AttendeeRegistrationRepository</ImplementationClass>
				<InterfaceName>IAttendeeRegistrationRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>GlCodeReadRepository</PropertyName>
				<ImplementationClass>GlCodeReadRepository</ImplementationClass>
				<InterfaceName>IGlCodeReadRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Selects CPA Program products by their ids</Comment>
				<Modifier />
				<Name>SelectCpaProgramProductsByIds</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>productIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>include</Name>
						<Type>IncludeProductRelatedEntities</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Product&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects CPA Program products by their ids&lt;/summary&gt;&lt;param name="productIds"&gt;&lt;/param&gt;&lt;param name="include"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Selects the available Divisions</Comment>
				<Modifier />
				<Name>SelectDivisions</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters />
				<ReturnType>List&lt;Division&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the available Divisions&lt;/summary&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Selects the state of the gp database by country.</Comment>
				<Modifier />
				<Name>SelectGpDatabaseByCountryState</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>countryId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>stateId</Name>
						<Type>Nullable&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>GpDatabase</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the state of the gp database by country.&lt;/summary&gt;&lt;param name="countryId"&gt;&lt;/param&gt;&lt;param name="stateId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Selects the available GP Databases</Comment>
				<Modifier />
				<Name>SelectGpDatabases</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>GpDatabaseRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;GpDatabase&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the available GP Databases&lt;/summary&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Retrieves the specified .</Comment>
				<Modifier />
				<Name>SelectProductById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>id</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>includes</Name>
						<Type>IncludeProductRelatedEntities</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Product</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Retrieves the specified .&lt;/summary&gt;&lt;param name="id"&gt;&lt;/param&gt;&lt;param name="includes"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Selects the products by event  id.</Comment>
				<Modifier />
				<Name>SelectProductsByEventId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>eventId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>includes</Name>
						<Type>IncludeProductRelatedEntities</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Product&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the products by event  id.&lt;/summary&gt;&lt;param name="eventId"&gt;&lt;/param&gt;&lt;param name="includes"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Retrieves the specified collection of .</Comment>
				<Modifier />
				<Name>SelectProductsByIds</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>Ids</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>includes</Name>
						<Type>IncludeProductRelatedEntities</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Product&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Retrieves the specified collection of .&lt;/summary&gt;&lt;param name="Ids"&gt;&lt;/param&gt;&lt;param name="includes"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Selects the type of the products by request.</Comment>
				<Modifier />
				<Name>SelectProductsByRequestType</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>requestType</Name>
						<Type>RequestType</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>include</Name>
						<Type>IncludeProductRelatedEntities</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Product&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the type of the products by request.&lt;/summary&gt;&lt;param name="requestType"&gt;&lt;/param&gt;&lt;param name="include"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Selects the product that meets  specific filter criteria to suite renewal product requirements</Comment>
				<Modifier />
				<Name>SelectRenewalProduct</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>productId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Product</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the product that meets  specific filter criteria to suite renewal product requirements&lt;/summary&gt;&lt;param name="productId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Selects the products that meets  specific filter criteria to suite renewal product requirements</Comment>
				<Modifier />
				<Name>SelectRenewalProducts</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>productIds</Name>
						<Type>List&lt;Guid&gt;</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Product&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the products that meets  specific filter criteria to suite renewal product requirements&lt;/summary&gt;&lt;param name="productIds"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Product</Aggregate>
				<Comment>Selects the Session details based on the Product selected</Comment>
				<Modifier />
				<Name>SelectSessionsByProductId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>productId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>sessionDate</Name>
						<Type>Nullable&lt;DateTime&gt;</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>options</Name>
						<Type>SessionDeliveryRelationshipsToInclude</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;ProductSession&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the Session details based on the Product selected&lt;/summary&gt;&lt;param name="productId"&gt;&lt;/param&gt;&lt;param name="sessionDate"&gt;&lt;/param&gt;&lt;param name="options"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IProductService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>GpDatabaseRepository</PropertyName>
				<ImplementationClass>GpDatabaseRepository</ImplementationClass>
				<InterfaceName>IGpDatabaseRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>productReadRepository</PropertyName>
				<ImplementationClass>ProductReadRepository</ImplementationClass>
				<InterfaceName>IProductReadRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>PublicPractice</Aggregate>
				<Comment />
				<Modifier />
				<Name>SelectPublicPracticeByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactid</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>PublicPracticeProfile</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="contactid"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>PublicPractice</Aggregate>
				<Comment />
				<Modifier />
				<Name>UpdatePublicPractice</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>practice</Name>
						<Type>PublicPracticeProfile</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Boolean</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="practice"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IPublicPracticeService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>AccountRepository</PropertyName>
				<ImplementationClass>AccountRepository</ImplementationClass>
				<InterfaceName>IAccountRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>ContactReadRepository</PropertyName>
				<ImplementationClass>ContactReadRepository</ImplementationClass>
				<InterfaceName>IContactReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>ContactRepository</PropertyName>
				<ImplementationClass>ContactRepository</ImplementationClass>
				<InterfaceName>IContactRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Renewal</Aggregate>
				<Comment>Service method to retrieve the renewal details of the conatct</Comment>
				<Modifier />
				<Name>GetRenewalByContactId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>currentDate</Name>
						<Type>DateTime</Type>
					</Parameter>
				</Parameters>
				<ReturnType>RenewalCycle</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Service method to retrieve the renewal details of the conatct&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="currentDate"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Renewal</Aggregate>
				<Comment>Selects the renewal cycle for the given date</Comment>
				<Modifier />
				<Name>GetRenewalCycle</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>date</Name>
						<Type>DateTime</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>includeProductDetail</Name>
						<Type>Boolean</Type>
					</Parameter>
				</Parameters>
				<ReturnType>RenewalCycle</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Selects the renewal cycle for the given date&lt;/summary&gt;&lt;param name="date"&gt;&lt;/param&gt;&lt;param name="includeProductDetail"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Renewal</Aggregate>
				<Comment>Gets the renewal notice.</Comment>
				<Modifier />
				<Name>GetRenewalNotice</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>contactId</Name>
						<Type>Guid</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>currentDate</Name>
						<Type>DateTime</Type>
					</Parameter>
				</Parameters>
				<ReturnType>RenewalNotice</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Gets the renewal notice.&lt;/summary&gt;&lt;param name="contactId"&gt;&lt;/param&gt;&lt;param name="currentDate"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Renewal</Aggregate>
				<Comment>Method to test whether the renewal cycle is open</Comment>
				<Modifier />
				<Name>IsRenewalCycleOpen</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>currentDate</Name>
						<Type>DateTime</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Boolean</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Method to test whether the renewal cycle is open&lt;/summary&gt;&lt;param name="currentDate"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IRenewalService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>RenewalReadRepository</PropertyName>
				<ImplementationClass>RenewalReadRepository</ImplementationClass>
				<InterfaceName>IRenewalReadRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>Utility</Aggregate>
				<Comment />
				<Modifier />
				<Name>DeleteShortLink</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>shortLinkId</Name>
						<Type>Int32</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="shortLinkId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Utility</Aggregate>
				<Comment />
				<Modifier />
				<Name>GetPaymentErrorDetail</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>errorCode</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>transactionId</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>PaymentError</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="errorCode"&gt;&lt;/param&gt;&lt;param name="transactionId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Utility</Aggregate>
				<Comment />
				<Modifier />
				<Name>GetPaymentErrorDetailByMessageId</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>messageId</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>errorCode</Name>
						<Type>String</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>transactionId</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>PaymentError</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="messageId"&gt;&lt;/param&gt;&lt;param name="errorCode"&gt;&lt;/param&gt;&lt;param name="transactionId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Utility</Aggregate>
				<Comment />
				<Modifier />
				<Name>LookupSystemUserById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>systemUserId</Name>
						<Type>Guid</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Lookup</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="systemUserId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Utility</Aggregate>
				<Comment />
				<Modifier />
				<Name>SelectShortLinkById</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>shortLinkId</Name>
						<Type>Int32</Type>
					</Parameter>
				</Parameters>
				<ReturnType>ShortLink</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="shortLinkId"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Utility</Aggregate>
				<Comment />
				<Modifier />
				<Name>SelectShortLinkByName</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>shortLinkName</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>ShortLink</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="shortLinkName"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Utility</Aggregate>
				<Comment />
				<Modifier />
				<Name>SelectShortLinks</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>searchParameters</Name>
						<Type>ShortLinkSearchParameters</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>pageSize</Name>
						<Type>Int32</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>pageIndex</Name>
						<Type>Int32</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Tuple&lt;ShortLink&gt;&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="searchParameters"&gt;&lt;/param&gt;&lt;param name="pageSize"&gt;&lt;/param&gt;&lt;param name="pageIndex"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Utility</Aggregate>
				<Comment />
				<Modifier />
				<Name>SelectSystemUserByName</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>name</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>List&lt;Lookup&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="name"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Utility</Aggregate>
				<Comment />
				<Modifier />
				<Name>SelectWebsiteList</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters />
				<ReturnType>List&lt;Website&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>Utility</Aggregate>
				<Comment />
				<Modifier />
				<Name>UpdateShortLink</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>shortLinkToSave</Name>
						<Type>ShortLink</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="shortLinkToSave"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IUtilityService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>utilitySqlRepository</PropertyName>
				<ImplementationClass>UtilitySqlRepository</ImplementationClass>
				<InterfaceName>IUtilitySqlRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
	<ServiceDefinition>
		<Methods>
			<MethodDefinition>
				<Aggregate>WebAuthentication</Aggregate>
				<Comment>Provides password change functionality.</Comment>
				<Modifier />
				<Name>ChangePassword</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>details</Name>
						<Type>PasswordChange</Type>
					</Parameter>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>validateOnly</Name>
						<Type>Boolean</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Void</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Provides password change functionality.&lt;/summary&gt;&lt;param name="details"&gt;&lt;/param&gt;&lt;param name="validateOnly"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>WebAuthentication</Aggregate>
				<Comment>Given the domain nam (i.e. domain-name\username) return a list of roles in which the given user participates</Comment>
				<Modifier />
				<Name>GetRoles</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>domainname</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>String[]</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;Given the domain nam (i.e. domain-name\username) return a list of roles in which the given user participates&lt;/summary&gt;&lt;param name="domainname"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
			<MethodDefinition>
				<Aggregate>WebAuthentication</Aggregate>
				<Comment />
				<Modifier />
				<Name>SelectStaff</Name>
				<Namespace>Cpa.ServiceInterfaces</Namespace>
				<Parameters>
					<Parameter>
						<Comment />
						<Modifier />
						<Name>domainName</Name>
						<Type>String</Type>
					</Parameter>
				</Parameters>
				<ReturnType>Nullable&lt;Int32&gt;</ReturnType>
				<ReturnComment />
				<DocComment>&lt;doc&gt;&lt;summary&gt;&lt;/summary&gt;&lt;param name="domainName"&gt;&lt;/param&gt;&lt;returns&gt;&lt;/returns&gt;&lt;/doc&gt;</DocComment>
			</MethodDefinition>
		</Methods>
		<Name>IWebAuthenticationService</Name>
		<Repositories>
			<CodePropertyEx>
				<PropertyName>WebAuthenticationReadRepository</PropertyName>
				<ImplementationClass>WebAuthenticationReadRepository</ImplementationClass>
				<InterfaceName>IWebAuthenticationReadRepository</InterfaceName>
			</CodePropertyEx>
			<CodePropertyEx>
				<PropertyName>MemberPasswordRepository</PropertyName>
				<ImplementationClass>MemberPasswordRepository</ImplementationClass>
				<InterfaceName>IMemberPasswordRepository</InterfaceName>
			</CodePropertyEx>
		</Repositories>
	</ServiceDefinition>
</ArrayOfServiceDefinition>